Methods, systems and computer program products for dynamic scheduling and matrix collecting of data about samples

ABSTRACT

Data is collected about samples that possess characteristics that change over time and that are contained in an array of containers that are arranged in a container spatial relationship. A matrix of cells is displayed in a cell spatial relationship that corresponds to the container spatial relationship. User input is accepted into at least one of the cells of the matrix that is displayed, to input at least one value of at least one of the characteristics that change over time for at least one of the samples that correspond to the at least one of the cells in the matrix that is displayed. The matrix user interface can allow a user to enter a large number of data points per minute, compared to conventional systems in which a user may need to swipe a bar code, enter an indicia or enter a row/column position for a sample prior to entering data. Data collection of characteristics of samples also can be scheduled, by storing past values of the characteristics of the samples that were data collected during at least one past time interval in a database, and also storing rules in a rule base. The rules determine whether a characteristic of a sample is to be data collected and, if so, identify the characteristic which is to be data collected, based on the past values of characteristics of samples. The rules are applied to the past values that are stored in the database, to identify target samples to be data collected, and to identify at least one target characteristic to be data collected for the target samples that are identified.

CROSS-REFERENCE TO PROVISIONAL APPLICATIONS

[0001] This application claims the benefit of Provisional ApplicationsSerial No. 60/192,706, filed Mar. 28, 2000, entitled Methods forImproving the Efficiency of Recording Data Observed in an Array, andSer. No. 60/192,496, filed Mar. 28, 2000, entitled Methods for DynamicScheduling, the disclosures of both of which are hereby incorporatedherein by reference in their entirety as if set forth fully herein.

FIELD OF THE INVENTION

[0002] This invention relates to database methods, systems and computerprogram products, and more particularly to methods, systems and computerprogram products that are used for data collection and storage in adatabase.

BACKGROUND OF THE INVENTION

[0003] Data collection methods, systems and computer program productsare widely used to collect data about a plurality of samples. Datacollection methods, systems and computer program products also may beused to schedule times for collection of the data about the plurality ofsamples. The data that is collected may be stored in a database, and maybe processed to attain useful results.

[0004] Data collection is widely used, for example, in conductingresearch with living organisms, such as plants, animals (including humanbeings), prokayotes, fungi, protists, viruses and prions. In conductingsuch research, a large number of samples may be used, and data aboutcharacteristics of the samples may be collected at various times, tomeasure changes in characteristics of the samples over time.

[0005] A specific example of a plant research environment now will bedescribed. However, similar environments may be found in researchenvironments for other organisms.

[0006] In a plant research environment, studies may be made as to genefunction in plants, plant growth and maintenance, mutant generationand/or phenomic measurements over a large number of samples, bymeasuring characteristics of the samples that change over time. A largenumber of samples, up to hundreds of thousands or more samples, mayundergo testing simultaneously. Plants may be studied as they grow invarious media, such as in soil or other plates, in very large volumesand at locations that may be spread over different facilities.

[0007] It may be difficult to effectively collect data about thesesamples. In particular, it may be difficult to collect this data in atime-critical matter. Since plant research may measure growing systemsthat are evolving over time, it may be important to make thesemeasurements at predetermined time intervals. Moreover, because the datais being collected for living organisms, it may be difficult todetermine in advance what characteristics are to be measured at whatparticular time. Finally, many characteristics may need to be recorded,such as color, shape or other attributes of plants. Although some ofthese measurements may be automated, many of these measurements may needto be done by visual observation and recording, which may betime-consuming and error-prone.

[0008]FIG. 1 illustrates a conventional growth flat of samples, hereplants. As shown, the growth flat includes a plurality of samples thatare contained in an array of containers, here pots, that are arranged ina container spatial relationship, here four rows of eight columns. Theplants possess characteristics that change over time. Data is collectedat various points in time, concerning various characteristics of theplants. As shown in FIG. 1, each plant may be identified by a bar codeor other indicium that is associated with the corresponding container.Often, data is collected by looking down at the flat and determining acharacteristic, such as whether a plant has started to produce buds,flowers, leaves, the color of leaves, the number of leaves, etc.

[0009] It will be understood that many other types of containers, suchas nutrient plates, may be used in plant research. Moreover, in otherorganism research, other containers, such as test tubes, petri dishesand the like may be used. However, these research efforts all may becharacterized as including a plurality of samples that possesscharacteristics that change over time, the samples being contained in anarray of containers that are arranged in a container spatialrelationship.

[0010] Large numbers of arrays of containers may be stored in ahierarchical organization that includes, for example, buildings, roomsin a building, racks in a room, shelves in a rack, shelf positions in ashelf, flats in a shelf position, and pots in an array in a flat. Thus,each flat may be identified uniquely by its unique position in thehierarchy. This hierarchy may be used to store data in a databasesystem, such as an SQL*GT database system, marketed by Perkin-Elmer Inc.In such a system, the building, room, rack, shelf and position may bemodeled as locations, and may be referenced hierarchically to oneanother. The flat may be modeled as a two-dimensional container, whichalso may be referred to as a “plate”in the SQL*GT system. The pots maybe modeled as samples. It will be understood, however, that many otherdatabase systems may be used to store data about a plurality of samplesthat are contained in an array of containers, and that possesscharacteristics that change over time.

[0011] Accordingly, although the data that has been collected can beefficiently stored in a database, there still may be a need for methods,systems and computer program products that can allow efficient datacollection and efficient scheduling of data collection.

SUMMARY OF THE INVENTION

[0012] Methods, systems and computer program products according toembodiments of the invention collect data about a plurality of samplesthat possess characteristics that change over time and that arecontained in an array of containers that are arranged in a containerspatial relationship. A matrix of cells is displayed in a cell spatialrelationship that corresponds to the container spatial relationship.User input is accepted into at least one of the cells of the matrix thatis displayed, to input at least one value of at least one of thecharacteristics that change over time for at least one of the samplesthat correspond to the at least one of the cells in the matrix that isdisplayed. According to other embodiments, the at least one value of theat least one of the characteristics that change over time for the atleast one of the specimens is stored in a database.

[0013] These embodiments of the invention can stem from a realizationthat data can be collected more efficiently by representing the array ofcontainers as a similar matrix of cells on a display, so that visualobservation or other data that is collected can be rapidly entered intothe displayed matrix at the corresponding position. Thus, an individualsample need not be identified using a bar code or other indicia, or byidentifying its row/column location in the array. The matrix userinterface can allow a user to enter a large number of data points perminute, compared to conventional systems in which a user may need toswipe a bar code, enter an indicia or enter a row/column position for asample prior to entering data.

[0014] According to other embodiments of the invention, prior todisplaying the matrix of cells, user selection of an array of containersfrom a plurality of arrays of containers is accepted. In otherembodiments, user selection of a characteristic from the characteristicsthat change over time also is accepted. The matrix of cells that isdisplayed includes data entry parameters for the characteristic that wasselected. Thus, the matrix can be “data aware”, and can display the dataentry parameters for the characteristic that was selected. For example,a Yes/No selection, a data entry box for a value and/or a pull-down menuof selection options may be displayed for each cell of the matrix,depending upon the characteristic that was selected for data collection.Moreover, user instructions also may be displayed for obtaining thevalue of the characteristic that was selected.

[0015] According to other embodiments of the invention, user input intothe cells of the matrix may be accepted by accepting user input of adefault value of the characteristic for the cells of the matrix that isdisplayed, and accepting user input into at least one of the cells ofthe matrix that is displayed, of at least one value that is differentfrom the default value. According to other embodiments, the defaultvalue for the cells of the matrix is stored in the database, except thatthe at least one value that is different from the default value isstored in the database for the cells that have a different value. Theseembodiments of the invention may stem from a realization that in datacollection for an array of samples, it is often the case that most ofthe samples in an array all have the same value for a givencharacteristic, and only a few of the samples have a value that isdifferent. For example, for a physical observation on a seedling color,two of the seedlings may be observed to be red, whereas all of theremaining seedlings may be observed to be green. By using theseembodiments of the present invention, the two red seedling values can beentered rapidly and all of the remaining seedlings can have the defaultvalue, which is green in this case. Efficient data entry may beobtained.

[0016] According to other embodiments of the invention, prior to thestoring in the database, a user input may be accepted into at least oneof the cells of the matrix that is displayed, of at least one correctedvalue of at least one of the characteristics that change over time, forat least one of the samples. Accordingly, data may be corrected beforeit is committed to the database. In other embodiments, the data may becorrected after it is stored.

[0017] The above-described embodiments that display a matrix of cellsand accept user input into the cells of the matrix may be usedrepeatedly to collect data for a plurality of matrices of cells thatcorrespond to a plurality of arrays of containers. Moreover, thedisplaying and accepting may be repeatedly performed to collect data fora plurality of characteristics that change over time. Moreover, thedisplaying and accepting may be repeatedly performed to collect dataover a plurality of sequential time intervals. Accordingly, datacollection may be performed efficiently.

[0018] It also may be desirable to provide efficient scheduling of datacollection. In particular, one purpose of collecting data about theplurality of samples may be to find changes in various samples thatoccur over time as a result of mutations, environmental factors and/orother factors. By definition, the time that these changes occur may beunknown. Thus, in order to capture the changes as they occur, it may benecessary to collect data about all of the characteristics for all ofthe samples at all points in time.

[0019] In sharp contrast, embodiments of the invention can schedule datacollection of characteristics of a plurality of samples, by storing pastvalues of the characteristics of the samples that were data collectedduring at least one past time interval in a database, and also storing aplurality of rules in a rule base. The plurality of rules determinewhether a characteristic of a sample is to be data collected and, if so,identify the characteristic which is to be data collected, based on thevalues of characteristics of samples. The plurality of rules is appliedto the plurality of past values that are stored in the database, toidentify target samples to be data collected from the plurality ofsamples, and to identify at least one target characteristic to be datacollected for the target samples that are identified. User instructionsare generated to collect data for the at least one target characteristicto be data collected in the target samples to be data collected.Accordingly, dynamic scheduling may be provided that can identify targetsamples to be data collected and target characteristics to be datacollected in the identified samples based on past values of data thatwere collected. Data collection may be scheduled efficiently, and theamount of unnecessary data that is collected can be reduced andpreferably can be minimized.

[0020] According to other embodiments of the invention, in response tothe user instructions that are generated, user input may be accepted ofat least one value of the at least one target characteristic to be datacollected in the target samples to be data collected. The at least onetarget value of the at least one target characteristic to be datacollected then may be stored in the database. The above-describedapplying the rules to the past values, generating user instructions,accepting user input and storing in the database may be repeatedlyperformed in sequence during a plurality of time intervals, to therebyobtain dynamic scheduling of data collection.

[0021] In one embodiment, the rules may include a rule that begins orterminates data collection of a characteristic in a sample based on apercentage of the samples that have a value of the characteristic duringa past time interval. Other rules can begin or terminate data collectionof a first characteristic in a sample based on a percentage of thesamples having a value of a second characteristic during a past timeinterval. Other rules can begin or terminate data collection of acharacteristic in a sample based on a percentage of the samples failingto have the characteristic during a past time interval. Yet other rulescan begin or terminate data collection of a first characteristic in asample based on a percentage of the samples failing to have a secondcharacteristic during a past time interval. Accordingly,population-based decisions may be used to determine, for example, when agrowth stage occurs, so that minor variants in a given sample can becanceled out or averaged by the population. Other rules, ranging fromsimple to complex, may be provided.

[0022] It will be understood that matrix collecting and dynamicscheduling embodiments of the present invention may be used separatelyto allow efficient data collection. However, matrix collecting anddynamic scheduling may be used together in embodiments of the inventionthat provide dynamic scheduling and use matrix collecting to allowefficient data collection of data that is scheduled by dynamicscheduling. In these embodiments, dynamic scheduling can allow onlythose characteristics for those samples that may be determinative to becollected and can allow the determinative characteristics and samples tobe collected efficiently using matrix collecting.

BRIEF DESCRIPTION OF THE DRAWINGS

[0023]FIG. 1 illustrates a conventional growth flat of plants.

[0024]FIG. 2 is a block diagram of systems according to embodiments ofthe invention that can practice methods and/or include computer programproducts according to embodiments of the invention for matrix datacollection and dynamic scheduling of data collection.

[0025]FIG. 3 is a flowchart of operations for matrix data collectionaccording to embodiments of the present invention.

[0026]FIG. 4 is a flowchart of operations for matrix data collectionaccording to other embodiments of the present invention.

[0027]FIG. 5 is a flowchart of operations for accepting user input intoa matrix according to embodiments of the present invention.

[0028] FIGS. 6-18 illustrate user interfaces that may be used for matrixdata collection according to embodiments of the present invention.

[0029]FIG. 19 is a block diagram of matrix data collection according toother embodiments of the present invention.

[0030] FIGS. 20-26 illustrate additional user interfaces that may beused with matrix data collection according to embodiments of the presentinvention.

[0031]FIG. 27 is a representation of a conventional data collectionplan.

[0032]FIG. 28 is a flowchart of operations that are performed fordynamic scheduling according to embodiments of the present invention.

[0033]FIG. 29 illustrates application of dynamic scheduling according toembodiments of the present invention to the conventional data collectionplan of FIG. 27.

[0034] FIGS. 30-32 illustrate other applications of dynamic schedulingaccording to embodiments of the present invention.

[0035]FIG. 33 illustrates an example of rules that are based onpercentages for dynamic scheduling according to embodiments of thepresent invention.

[0036]FIGS. 34A and 34B, which when placed together as shown form FIG.34, is a flowchart illustrating dynamic scheduling according to otherembodiments of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0037] The present invention now is described more fully hereinafterwith reference to the accompanying drawings, in which preferredembodiments of the invention are shown. This invention may, however, beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein. Rather, these embodiments areprovided so that this disclosure will be thorough and complete, and willfully convey the scope of the invention to those skilled in the art.Like numbers refer to like elements throughout the description of thedrawings.

[0038] As also will be appreciated by one of skill in the art, thepresent invention may be embodied as methods, data processing systems,and/or computer program products. Accordingly, the present invention maytake the form of an entirely hardware embodiment, an entirely softwareembodiment running on general purpose hardware or an embodimentcombining software and hardware aspects. Furthermore, the presentinvention may take the form of a computer program product on acomputer-usable storage medium having computer-usable program codeembodied in the medium. Any suitable computer readable medium may beutilized including hard disks, CD-ROMs, optical storage devices and/ormagnetic storage devices.

[0039] Computer program code for carrying out operations of the presentinvention may be written in an object oriented programming language suchas JAVA®, Smalltalk or C++. The computer program code for carrying outoperations of the present invention may also be written in aconventional procedural programming language, such as “C”. MicrosoftActive Server Pages (ASP) technology and Java Server Pages (JSP)technology may be utilized. Software embodiments of the presentinvention do not depend on implementation with a particular programminglanguage. The program code may execute entirely on one or more Webservers and/or application servers, or it may execute partly on one ormore Web servers and/or application servers and partly on a remotecomputer (i.e., a user's Web client), or as a proxy server at anintermediate point in a network. In the latter scenario, the remotecomputer may be connected to the Web server through a LAN or a WAN(e.g., an intranet), or the connection may be made through the Internet(e.g., via an Internet Service Provider).

[0040] The present invention is described below with reference to blockdiagram and flowchart illustrations of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the block diagrams and/orflowchart illustrations, and combinations of blocks, can be implementedby computer program instructions. These computer program instructionsmay be provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create structures for implementing the functions specified inthe block diagram and/or flowchart block or blocks.

[0041] These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instructions whichimplement the function specified in the block diagram and/or flowchartblock or blocks.

[0042] The computer program instructions may also be loaded onto acomputer or other programmable data processing apparatus to cause aseries of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer implemented process ormethod such that the instructions which execute on the computer or otherprogrammable apparatus provide steps for implementing the functionsspecified in the block diagram and/or flowchart block or blocks.

[0043] Some embodiments of the present invention may be practiced on asingle data collection computer that can include matrix data collectionand/or dynamic scheduling, as well as a database for storing the dataand/or a rule base for storing rules. However, because other embodimentsof the present invention may involve the use of multiple data collectionterminals and storing of a large number of values/rules for a largenumber of samples, embodiments of the present invention may beimplemented on a client-server system, wherein at least one client datacollection terminal and at least one server computer are connected toone another.

[0044] Referring now to FIG. 2, systems according to embodiments of theinvention, that can practice methods and/or include computer programproducts according to embodiments of the invention, are schematicallyillustrated. As shown, a server system 200 and at least one datacollection terminal 270 are connected using a wire connection 282, awireless connection 284 and/or a network connection 286 using a network288, such as a local area network, wide area network and/or theInternet. The data collection terminals 270 may comprise laptopcomputers, personal computers or workstations, wireless terminals,personal digital assistants and/or custom data collection terminals, andmay include a display, a user input interface such as a keyboard and/ora pointing device such as a mouse, and also may include one or moresensors or transducers for obtaining measurements of characteristics ofsamples. The data collection terminals 270 may be connected to theserver continuously, intermittently when collecting data and/orintermittently to download a schedule of data to be collected and toupload data collection results.

[0045] Still referring to FIG. 2, the server 200 may be embodied in oneor more personal, application and/or enterprise computers. The server200 also can include an input/output subsystem 260 that interfaces theserver 200 and the data collection terminals 270.

[0046] Still referring to FIG. 2, a database 250 can store the data thatis collected and/or a data collection schedule in a manner that will bedescribed in detail below. As is known to those of skill in the art, adatabase is a collection of data that can be organized in tables and/orother conventional forms of organization. The database 250 may include adatabase manager and/or database server 230 that facilitates accessing,managing and updating data within the various tables of the database250. Exemplary types of databases 250 that can be used according toembodiments of the present invention include relational databases,distributed databases (databases that are disbursed or replicated amongdifferent points in a network), and object oriented databases.Relational, distributed and object oriented databases are wellunderstood by those having skill in the art and need not be describedfurther herein.

[0047] The database server 230 operates as a “middleman” server betweenother components of the server 200 and the database 250. The databaseserver 230 generally includes program code and logic for retrieving datafrom the database 250 in response to external requests. Commercialdatabase servers that may be utilized as a database server 230 in theserver 200 include Microsoft's SQL server, IBM's DB2® universal databaseserver, and Oracle's SQL server running the SQL*LIMS™ applicationmarketed by Perkin-Elmer Inc.

[0048] Still referring to FIG. 2, the server 200 also contains a matrixdata collector 210 that causes a matrix of cells to be displayed andaccepts user input into at least one of the cells of the matrix,according to embodiments of the present invention. It will be understoodthat the matrix data collector 210 may be included in the datacollection terminals 270 in other embodiments of the invention.Moreover, the matrix data collector 210 may be divided into a serverportion in the server 200, and a client portion in the data collectionterminals 270.

[0049] Still referring to FIG. 2, the server 200 also includes a dynamicscheduler 220 that applies a plurality of rules in a rule set 240 to aplurality of values of characteristics that have been data collected andthat have been stored in the database 250, to identify target samples tobe data collected and to identify at least one target characteristic tobe data collected for the target samples that are identified. The ruleset 240 may be stored in a rule base that is part of and/or separatefrom, the database 250. It also will be understood that although thedynamic scheduler 220 is shown as part of server 200, it may also beembodied in the data collection terminals 270 or may be embodied as aserver portion in the server 200 and a client portion in the datacollection terminals 270.

[0050] Finally, it will be understood that embodiments of the presentinvention may include the matrix data collector 210 without includingthe dynamic scheduler 220 and the rule set 240. Such embodiments cancollect data using a displayed matrix of cells in a cell spatialrelationship that corresponds to the container spatial relationship ofthe samples, without dynamically scheduling the data collection based onapplication of rules to values that are stored in a database. Moreover,other embodiments may include the dynamic scheduler 220 and the rule set240, without including the matrix data collector 210. In theseembodiments, scheduling of data collection may be performed dynamicallyby applying rules to values that are stored in the database 250, withoutusing the matrix user interface for data collection.

[0051] Referring now to FIG. 3, operations for matrix data collectionaccording to embodiments of the invention, now will be described. Itwill be understood that these operations may be performed by the matrixdata collector 210 of FIG. 2.

[0052] Referring to FIG. 3, these operations may be performed to collectdata about a plurality of samples that are contained in an array ofcontainers that are arranged in a container spatial relationship, suchas the container spatial relationship of FIG. 1, and that possesscharacteristics that change over time. At Block 310, a matrix of cellsis displayed in a cell spatial relationship that corresponds to thecontainer spatial relationship. FIG. 6 is an example of a matrix ofcells in a cell spatial relationship that corresponds to the containerrelationship. As shown in FIG. 6, an array of four rows and eightcolumns of cells is displayed that corresponds to the array of four rowsand eight columns of containers of FIG. 1.

[0053] Referring again to FIG. 3, at Block 320, user input is acceptedinto at least one of the cells of the matrix that is displayed, of atleast one value of at least one of the characteristics that change overtime, for at least one of the samples that corresponds to the at leastone of the cells of the matrix that is displayed. Thus, for example,referring again to FIG. 6, each cell accepts a Yes/No user input as towhether the flower buds can be seen in the sample that is contained inthe container of the array of containers at a position that correspondsto the position of the cell in the matrix. It will be understood,however, that although a Yes/No selection is illustrated, data entryboxes also may be used to obtain entry of alphanumeric data. Pull-downmenus and/or other conventional means also may be used to allowselection from a plurality of choices. Moreover, user selection may beallowed to provide measuring of data using a transducer or othermeasuring device that is attached to, or is separate from, the datacollection terminal 270 of FIG. 2.

[0054] Matrix data collection according to embodiments of the presentinvention can allow massive amounts of physical observations and/ormeasurements to be entered into a database efficiently. By recognizingthat the samples are arranged in arrays of containers and providing auser interface matrix that is consistent with this arrangement,efficient data collection may be obtained. A much greater data volumemay be allowed, because the cost of data entry may be predominated bylabor costs of data collection. The cost of the storage facility, soiland seeds may be relatively low. By increasing and preferably maximizingthe number of observations/measurements a user can enter, in a shortperiod of time, the overall cost of the experimentation can be reduced.

[0055] Matrix data collection allows a graphical view of each samplethat is in a container to be shown. It can graphically illustrate thearray of containers and each sample in its position in the array. Rapidcontainer-based database entry thereby may be obtained. In one example,a user can enter approximately fifty data points per minute. Thegraphical user interface is data aware, and it shows what type of datais desired for entry, such as Yes/No, text, numeric and/or a choicelist.

[0056] Referring now to FIG. 4, other embodiments of matrix datacollection will be described. These operations may be performed by thematrix data collector 210 of FIG. 2. As shown in FIG. 4, at Block 410, auser selection of an array of containers from the plurality of arrays ofcontainers is accepted. FIG. 7 illustrates a user interface that allowsa user to select a container flat ID at the upper left. The containerflat ID may be selected by scanning a bar code, by typing in a numberand/or by performing a search through a hierarchy of flats.

[0057] Returning to FIG. 4, at Block 420, a user selection of acharacteristic from the characteristics that change over time, isaccepted. The characteristics may be accepted in two stages. Forexample, as shown in FIG. 8, a data collection operation to be performedon an array of containers is selected from a list of operations. Theoperations include a listing of days in the life of a sample. As shownin FIG. 8, some of the operations include an asterisk to the left, toindicate that all of the samples for that operation already have beendata collected. Thus, the user can determine the due date and select theoperation that is desired to be measured. Then, at FIG. 9, acharacteristic to be measured, also referred to herein as a “component”,is selected from a list of characteristics or components.

[0058] Then, referring back to FIG. 4, user instructions for the datacollection may be displayed at Block 430, and the matrix may bedisplayed at Block 440. As was already described, FIG. 6 illustrates anexample of a matrix that is displayed. Under the heading “Component”,the user instruction also is displayed. For example, “Can flower buds beseen?” is displayed.

[0059] Referring again to Block 450 of FIG. 4, user input into thematrix then is accepted. For example, as was described above, user inputmay be accepted by allowing the user to click on Yes/No for each of thecells in the matrix of FIG. 6.

[0060] As was described above, the matrix preferably is data aware. Inother words, since the characteristic to be measured has been selected,the matrix can display the proper choice of text, numeric or selectionparameters that need to be entered. Thus, for example, in FIG. 6, aYes/No selection of data entry parameters is displayed. FIG. 10 providesan example of a numeric input for lateral roots per seedling. In FIG.10, the status area at the bottom of the display also shows what themeasurement units are for this particular component, because they couldeither be text or numeric. Thus, in FIG. 10, a message is displayed totell the user that this parameter is an item count. FIG. 11 illustratesthe use of a pull-down menu as a choice list for root color. FIG. 12 isanother example of a Yes/No parameter input.

[0061] Referring now to FIG. 5, additional details of accepting userinput according to embodiments of the present invention will bedescribed. These operations may correspond to Block 450 of FIG. 4. Theseembodiments allow the input of default values.

[0062] In particular, these embodiments stem from a realization thatmuch of the data entry by container can be entered by exception. Forexample, if a plate is filled with seedlings, it may be clearly visiblethat one of the seedlings is red, whereas the rest of them are green. Byallowing default values, this data can be entered efficiently. Thus, adefault value, such as green, can be applied. Then, the default can beoverridden for the seedlings that are observed to be red. Alternatively,the non-default value, such as red, can be applied. Then, the defaultcan be applied to all seedlings to which the non-default value has notbeen applied Referring now to FIG. 5, at Block 510, a user input of thedefault value of the at least one of the characteristics for the cellsin the matrix that is displayed, is accepted. FIG. 13 illustrates thesetting of a default value. In FIG. 13, the characteristic is theobservation of flower buds. Upon observation, it can be seen whether ornot more samples have flowers buds. Upon observation that most of theplants do not have flower buds, the default value of No can be set inFIG. 13. FIG. 14 illustrates that all of the cells of the matrix canbeen set to the default value of No. Then, referring to FIG. 5, at Block520, user input is accepted into at least one of the cells of the matrixthat is displayed, of at least one value that is different from thedefault value. Thus, non-default values can be entered on an exceptionbasis.

[0063] Finally, at Block 530, validation also may be provided to acceptuser input into at least one of the cells of the matrix that isdisplayed, of at least one corrected value of at least one of thecharacteristics that change over time for at least one of the samplesthat corresponds to the at least one of the cells in the matrix that isdisplayed. It will be understood that validation may be performed inconjunction with or independent of the setting of default values.

[0064] Referring now to FIG. 15, in one example, by double-clicking onone of the cells, a change result screen may be presented. The old valueis presented, and a user input for a new value may be accepted. FIG. 16illustrates the input of a new value. A change reason also may be inputat FIG. 17. Once the change is accepted, an asterisk may be provided tothe right of the sample identification in the matrix, and the result ischanged in the matrix, as shown in FIG. 18. The change then may becommitted to the database.

[0065] Referring now to FIG. 19, a functional block diagram of otherembodiments of a matrix data collector, for example a matrix datacollector 210 of FIG. 2, will be described. FIG. 19 illustrates arelationship between the matrix 1910 and other components of an SQL*LIMSsystem marketed by Perkin-Elmer Inc. As shown in FIG. 19, the matrix1910 interacts with LIMS tables 1920, which may be included in an Oracledatabase, and which may correspond to the database 250 of FIG. 2, usingfor example an ADO™ connection, marketed by Microsoft, Inc., to directlyconnect the matrix 1910 to the LIMS tables 1920. This connection may beused to send data 1912 to the matrix from the LIMS table 1920 in aread-only mode, so that the data in the LIMS tables is not corrupted.The matrix 1910 queries the tables, for example using an SQL query 1914,and returns the data 1912, displaying the pertinent data to the user.The matrix 1910 also can write ARE™ (Perkin-Elmer, Inc.) files to ashared directory 1930 on a file system. The LIMS processes then can pickup the files from the shared directory 1930, and insert ARE files 1932using an LIMS run-time module 1940, which can be a UNIX file. To makenew records in the LIMS tables 1920, changed results can perform otherdatabase processes. It also will be understood that ARE files need notbe used to write data to the database. Rather, data can be writtendirectly into the database, and/or another text file format can be used.

[0066] Embodiments of the invention that were illustrated in FIG. 19 canbe used to monitor the status of the ARE files 1932. ARE can returnstatus messages if there are problems with the upload. For example, FIG.20 illustrates a situation where a container ID has been entered, anoperation has been selected, a component has been selected, the data hasbeen entered for that component for each sample and a commit button hasbeen pressed to go to the database 1920. In FIG. 21, at the bottom left,in the upload status area, the traffic light has been turned from green(bottom light) to yellow (middle light), meaning that the ARE data 1932is being processed. The name of the file also is shown. Then, in FIG.22, once ARE has completed processing the file, the traffic light turnsto green (bottom light) again, meaning the file was uploadedsuccessfully.

[0067] In contrast, FIG. 23 illustrates the detection of errors thatcome back from ARE. In one case, there may be a complete error with thefile. For example, something may be malfunctioning and an upload was notperformed. A red “X” may be presented, so that the user can determinethat an error has occurred. When the user sees the “X”, the user candouble-click on the control, and it will bring up a log file that wasgenerated, that came back from ARE. An example is illustrated in FIG.24. In FIG. 24, the component required an alpha and a numeric, whereas anumeric and an alpha was entered. Alternatively, as shown in FIG. 25,the data may be uploaded to the LIMS tables 1920, but there may be aproblem with the data. In this case, a yellow caution symbol “!” wasprovided, and the user can click on the caution symbol and see the causeof the results, for example as shown in FIG. 26.

[0068] A detailed description of dynamic scheduling according toembodiments of the present invention now will be provided. However,prior to describing dynamic scheduling, a description of thedesirability of dynamic scheduling in phenotypic analysis of plants willbe provided.

[0069] As is well known to those having skill in the art, phenotypicanalysis refers to characterizing a living system by its physicalcharacteristics. In phenotypic analysis of plants, repeated observationsare made on living plants. For example, the observations may include thecolor of leaves, root length, number of leaves, and the appearance ofbuds, seeds and root hair. These observations are made repetitively overtime.

[0070] Moreover, destructive testing also may be performed at variouspoints in time. Thus, a plant may meet a certain growth stage in itslife cycle, at which point destructive testing may be performed todetermine, for example, the dry weight of the leaves or the number ofseeds in its leaf. This destructive testing is only performed once,because the plant is killed.

[0071] Finally, phenotypic measurements of plants also may be interestedin growth stage determination. More specifically, plants generallyfollow a predictable life cycle of seed, sprout, root breaks through thesoil, bud development, bud opening, etc. The occurrence of these pointsmay be important in determining unusual growth patterns, so that certainmeasurements may be made based on these growth stages. Finally,population-based decisions may need to be performed to try to determinewhen a growth stage occurs, so that minor variants in a given plant canbe canceled out or averaged out by the population.

[0072]FIG. 27 is a simplified representation of a data collection planthat might be applied to a plant. As shown, a particular data collectionA is started at Day 2, and collected daily through Day 8. The datacollection A may be a test data collection such as color or texture.Other tests start and stop at predictable times. Moreover, there may bea battery of extensive tests that are desired at certain points in thegrowth stage, for example as represented by tests E, F and G at Day 3,and by tests H and I at Day 7.

[0073] Static data collection as described in FIG. 27 may be acceptableif only stable wild-type plants were being data collected. However,phenotypic studies in plants typically study unpredictable mutations inplants, to determine how these mutations change the phenotype.Accordingly, the data collection plan may be dynamically adjusted basedon the growth pattern of particular mutant plants. For example,referring back to FIG. 27, it may be desirable to extend the test C pastDay 4, and it may have been desirable to perform the test D earlier, dueto the appearance of an earlier characteristic. Finally, it also mayhave been desirable to perform the block of tests at Day 3 and Day 7earlier or later, depending on the characteristics that were observed.

[0074] Referring now to FIG. 28, operations that may be performed fordynamic scheduling according to embodiments of the invention now will bedescribed. These operations may be performed by the dynamic scheduler220 of FIG. 2. These operations may be used to schedule data collectionof characteristics of a plurality of samples, wherein values of thecharacteristics change over time.

[0075] Referring now to FIG. 28, at Block 2810, a plurality of pastvalues of the characteristics of the plurality of samples that were datacollected during at least one past time interval is stored in adatabase, such as the database 250 of FIG. 2. At Block 2820, a pluralityof rules, such as the rule set 240 of FIG. 2, are generated and stored,for example, in a rule base. The rules determine whether acharacteristic of a sample is to be data collected and, if so, identifythe characteristic which is to be data collected, based on values ofcharacteristics of samples. It will be understood by those having skillin the art that the operations of Blocks 2810 and 2820 may be reversedin sequence and/or may overlap.

[0076] Still referring to FIG. 28, at Block 2830, the plurality of rulesare applied to the plurality of past values that are stored in the rulebase, to identify target samples to be data collected from the pluralityof samples, and to identify at least one target characteristic to bedata collected for the target samples that are identified. Then, atBlock 2840, user instructions are generated to collected data for the atleast one target characteristic to be data collected in the targetsamples to be data collected. The user instructions may be in the formof a matrix, as was described in detail above. However, other forms ofuser instructions that do not employ a matrix also may be generated.

[0077] Still referring to FIG. 28, at Block 2850, user input of at leastone value of the at least one target characteristic to be data collectedis accepted. The user input may use a matrix as described above, or mayuse other user input techniques. At Block 2860, the at least one targetvalue of the at least one target characteristic to be data collected inthe target samples to be data collected is stored in the database.Finally, at Block 2870, if additional characteristics are to bemeasured, then the applying, generating, accepting and storing at Blocks2830-2860 are repeatedly performed during a plurality of time intervals.

[0078] Accordingly, dynamic scheduling according to embodiments of thepresent invention can take the data that has been obtained and applyrules to the data, to thereby derive unique data requirements thatrespond to the data that was obtained. Dynamic scheduling can provide avariable identification of a target characteristic which is to be datacollected. This variable identification of a target characteristic whichis to be data collected also is referred to herein as a “variablecomponents list”. Instead of a static measurement plan that always asksthe same question, dynamic scheduling can change a target characteristiclist from sample to sample, in any particular data collecting operation.

[0079]FIG. 29 schematically illustrates an application of dynamicscheduling to the data of FIG. 27. In FIG. 29, the characteristic C isdata collected for at least one additional day, Day 5. Thecharacteristic D is data collected earlier, at least at Day 4. Thecharacteristics E, F and G are data collected earlier, and thecharacteristics H and I are data collected later. These changes may begenerated based on the application of the stored rules to the pastvalues that were obtained.

[0080]FIG. 30 illustrates a particular example of extinguishing datacollection of a characteristic. In particular, some types of datacollection do not apply to a plant past a certain point. For example, acharacteristic may be, “Has a plant developed buds?”. The result is Noon Day 3, No on Day 4, No on Day 5 and Yes on Day 6. There is then noneed to data collect that characteristic for that particular plant onDay 7 or Day 8, as that would be unnecessary data collection.

[0081]FIG. 31 illustrates another example of dynamic scheduling, whereina data collection of a target characteristic is started. There are somecharacteristics that cannot logically occur before other characteristicsoccur. For example, if the characteristic is how many flowers are on abud, then the bud will have to be open first. There is no point in datacollecting these characteristics until it is logical for thesecharacteristics to be relevant. Thus, in FIG. 31, characteristic B isdata collected for the first time on Day 6, when it has been determinedthat a particular characteristic is sensible to be data collected, basedon the characteristic implied by the value of A.

[0082]FIG. 32 illustrates starting an independent method based on thepast value of the characteristic that was stored earlier. In particular,it may be desirable to perform rather complex data collection where a“spur” data collection may begin based on occurrence of an event. Forexample, once a plant has budded, it may be desirable to perform anumber of data collections of characteristics that are now on their ownpathway and independent of the core data collection that is being madeon the plant. Thus, as shown in FIG. 32, on Day 3, a critical growthstage was determined for characteristic A, and starts independent datacollections E, F, G, H and I based on the data collection at Day 3.

[0083] Since large numbers of samples generally are being measured, therules may be based on a percentage of the samples having a past value ofa characteristic during a past time interval. For example, a rule may beincluded that begins or terminates data collection of a characteristicin a sample based on a percentage of the samples having a value of thatcharacteristic or of another characteristic during a past time interval.Alternatively, data collection of the characteristic may begin orterminate based on a percentage of the samples failing to have thatcharacteristic or another characteristic during a past time interval.Moreover, all of the samples need not be included in the percentagedetermination. For example, the sample may be contained in an array ofsamples, such as a flat. The rules can include a rule that begins orterminates data collection of a characteristic based on a percentage ofthe samples in the array that contains the sample in question, eitherincluding or failing to include that characteristic or anothercharacteristic during a past time interval.

[0084]FIG. 33 graphically illustrates an example of rules that are basedon percentages. In FIG. 33, the characteristics are referred to as“components”. As shown in FIG. 33, on Day 1, three components aretested. The results are entered into the database once the task iscomplete. The rules shown in FIG. 33 then are applied to data that wasentered as a result of the task. As shown in FIG. 33, one rule is when50% of the samples for a component 1 are greater than or equal to n,then component 5 is activated and component 1 is deactivated. The secondrule is that when 50% of the samples of component 2 equal a value, thencomponent 2 is deactivated. The third rule is when 75% of the samplesfor component 5, is greater than a particular value, then somecomponents are activated and others are deactivated.

[0085] As shown in FIG. 33, on Day 1 there are three components, andtheir values are evaluated. On Day 2, there is a new component list thatthe user will data collect as a result of dynamic scheduling. Similaroperations are performed at the end of Day 2 relative to components 2,3, 4 and 5, so that on Day 3, components 2, 3, 4 and 5 are again datacollected. Similarly, on Day 4, components 2, 3, 4 and 5 are datacollected, and on Day 5, components 6, 7 and 8 are data collected basedon application of the rules to the newly entered data.

[0086] Other embodiments of dynamic scheduling according to the presentinvention now will be described. These embodiments of dynamic schedulingmay include using a rule set that includes the fields that are shown inTable 1. Table 1 consists of 4 rows and 20 columns, and spans 8 pages.TABLE 1 DCC_ID PARENT_DCC_ID SEQUENCE DCC_VERSION STATUS STUDY_IDRESULT_PLAN_ID 1000000014 1000000002 21 1 MODIFIED 100010269 1050085221000000003 1000000002 10 1 MODIFIED 100010269 105008522 10000000211000000004 26 1 MODIFIED 100010269 105008522 CONDITION ACTIONEXIT_WHEN_TRUE HIDE_PARAMETER RUN_ONCE 1000000014 A N Y N GROWTH STAGE110 DAY A N N Y IMAGE ROSETTE A N Y Y MAX_TASK_SEQUENCE SCOPE_LEVELMETHOD SUBMISSION ARABIDOP 97 SOIL CORE/ARABIDOP 97 SOIL GROWTH STAGES/36 SUBMISSION ARABIDOP 97 SOIL CORE/ARABIDOP 97 SOIL GROWTH STAGES/SAMPLE ARABIDOP 97 SOIL IMAGES/ START_SQL START_SCOPE_SQL SELECTCount(DISTINCT s.sample_id) SELECT Count(DISTINCT s.sample_id) FROMnais_samples s, nais_results r FROM nais_samples s, nais_results r WHEREr.sample_id = s.sample_id WHERE r.sample_id = s.sample_id ANDs.sample_type = ‘ORANGE’ AND s.sample_type = ‘ORANGE’ ANDr.submission_id = :submission_id AND r.submisson_id = :submission_id ANDr.text_value = ‘Y’ AND r.component = ‘Can flower buds be seen?’ ANDr.component = ‘Can flower buds be seen?’ AND r.result_version = (SELECTMax(result_version)FROM AND r.result_version = (SELECTMax(result_version)FROM nais_results WHERE result_id = r.result_id)nais_results WHERE result_id = r.result_id) SELECT Count(DISTINCTs.sample_id) SELECT Count(DISTINCT s.sample_id) FROM nais_samples s,nais_results r FROM nais_samples s, nais_results r WHERE r.sample_id =s.sample_id WHERE r.sample_id = s.sample_id AND s.sample_type = ‘ORANGE’AND s.sample_type = ‘ORANGE’ AND r.submission_id = :submission_id ANDr.submission_id = :submission_id AND r.number_value >= 10 ANDr.component = ‘Rosette leaves > 1 mm in length’ AND r.component =‘Rosette leaves > 1 mm in length’ AND r.result_version = (SELECTMax(result_version)FROM AND r.result_version = (SELECTMax(result_version)FROM nais_results WHERE result_id = r.result_id)nais_results WHERE result_id = r.result_id) SELECT Count(DISTINCTr.sample_id) FROM nais_tasks t, nais_results r WHERE t.task_id =r.task_id AND t.operation = ‘IMAGE-WHOLE ROSETTE ON SOIL’ ANDr.submission_id = :submission_id AND r.sample_id = :sample_id ANDr.text_value = ‘Y’ AND r.component = ‘Picture taken’ ANDr.result_version = (SELECT Max(result_version)FROM nais_results WHEREresult_id = r.result_id) STOP_SQL STOP_SCOPE_SQL SELECT Count(DISTINCTs.sample_id) SELECT Count(DISTINCT s.sample_id) FROM nais_samples s,nais_results r FROM nais_samples s, nais_results r WHERE r.sample_id =s.sample_id WHERE r.sample_id = s.sample_id AND s.sample_type = ‘ORANGE’AND s.sample_type = ‘ORANGE’ AND r.submission_id = :submission_id ANDr.submission_id = :submission_id AND r.text_value = ‘Y’ AND r.component= ‘Is first flower open?’ AND r.component = ‘Is first flower open?’ ANDr.result_version = (SELECT Max(result_version)FROM AND r.result_version= (SELECT Max(result_version)FROM nais_results WHERE result_id =r.result_id) nais_results WHERE result_id = r.result_id)PERCENTAGE_REQUIRED 50 50

[0087] The fields are defined as shown in Table 2: TABLE 2 FieldFunction Comments Dcc_id Unique record identifier. NUMBER(10) Relates topg1_dcc_detail NOT NULL Parent_dcc_(—Id) Specifies that a specificNUMBER(10) dcc_id must have occurred before the current one is evaluatedSequence The order in which rules NUMBER(3) are evaluated NOT NULLDcc_Version Version of the set of rules. NUMBER(3) NOT NULL Status Canbe CURRENT or VARCHAR2(10) MODIFIED, specifies NOT NULL which is thecurrent set of rules that will be applied to new data Study_id Study inwhich to do the NUMBER(10) evaluation on NOT NULL Result_plan_id Resultplan to use when NUMBER(10) creating components. NOT NULL Condition Ruleidentifier. This will VARCHAR2(20) be inserted as a parameter NOT NULLeither on the sample or the submission when the rule evaluates to trueAction Can be A for activate or R VARCHAR2(1) for reject Exit_when_trueStop evaluating any more VARCHAR2(1) rules if the current rule is true.Hide_parameter Hide the created parameter VARCHAR2(1) from the user ifthe current rule is true Run_once Only evaluate the rule untilVARCHAR2(1) it is true Max_task_sequence Maximum sequence of theNUMBER(3) task allowed before a rule is forced to be true. Scope_levelCan be SAMPLE or VARCHAR2(10) SUBMISSION Determines whether or not tobase the evaluation on a population or each sample individually MethodLimits the rule evaluation VARCHAR2(100) only to those tasks with thesame methods as the calling task Start_sq1 SQL statement to countVARCHAR2(2000) the number of samples that pass criteria. For SAMPLElevel, the result is either 1 or 0 Start_scope_sq1 SQL statement tocount VARCHAR2(2000) the number of samples for the criteria that isbeing evaluated in Start_sq1. Stop_sq1 Same as Start_sq1 but willVARCHAR2(2000) stop the activation of new components when evaluated totrue Stop_scope_sq1 SQL statement to count VARCHAR2(2000) the number ofsamples for the criteria that is being evaluated in Stop_sq1Percentage_required The percentage of the NUMBER(3) population requiredto activate the creation of components Only applies to those beingevaluated at the submission level.

[0088]FIGS. 34A and 34B, which when placed together as shown form FIG.34, is a flowchart of operations that may be performed for dynamicscheduling according to embodiments of the present invention, using therule set of Table 1. Referring now to FIG. 34, if a task condition isvalid at Block 3402, a test is made at Block 3404 as to whether thereare any rules remaining. More particularly, the rules are appliedsequentially to the data values that are stored in the database, untilno more rules remain, at Block 3404. At Block 3406, a test is made as towhether the rule already has been applied. If yes, a test is made atBlock 3408 as to whether the rule is to be run only once and, if so, atBlock 3410, the next rule is obtained. If the rule is not to be run onlyonce at Block 3408, but a stop condition exists at Block 3416, then thevalues are retrieved and evaluated for the rule at Block 3422.

[0089] Referring again to Block 3406, if the rule has not yet beenevaluated, then a test is made at Block 3414 as to whether a parent ruleis used. If yes, then a test is made at Block 3418 as to whether theparent rule already has been applied. If not, then the parent rule isobtained at Block 3442. If yes, then at Block 3422, the values areretrieved from the database and evaluated at Block 3422.

[0090] At Block 3424, a test is made as to whether the number of samplesthat has passed the start criteria is greater than 0. If not, then thenext rule is obtained at Block 3442. If yes, a test is made at Block3426 as to whether the past percentage is greater than the pastpercentage required by the rule. If yes, then a test is made at Block3428 15 as to whether the number of samples that has passed stopcriteria is greater than 0. If yes, then at Block 3432, a test is madeas to whether a past percentage is required, and if yes, the next ruleis obtained at Block 3442.

[0091] If the results of the tests at Blocks 3416, 3428 or 3432 is no,then at Block 3434, the new results are inserted and at Block 3436, itis recorded that the rule has been applied. The next rule is obtained atBlock 3410, and operations continue until there are no rules remainingat Block 3404. Table 3 illustrates operations that may be used to insertthe new results (Block 3434). TABLE 3 Field Function Structure Dcc_idRelated to pg1_dcc NUMBER(10) NOT NULL Due_days Number of due daysbefore the NUMBER(3) task on the new component is NOT NULL due Can be −1to create the component on the next due task or it can be <−900 to makethe task due a certain number of days from the sow date ComponentComponent to create VARCHAR2(40) Operation The operation to create theVARCHAR2(40) component on Method The method to create the VARCHAR2(40)component on Sample_type The sample type to limit the VARCHAR2(100)creation of new components to

[0092] Table 4 is a listing of modules that can be used to embody theoperations of FIG. 34. TABLE 4 Procedure/Function Name FunctionParameters Returns Create_result Creates an empty result Task ID Success0 Component Name Failure −1 Result Plan ID Problem 100003- New Sequence100013 New Due Date Create_schedule Does the full evaluation of a TaskID None submission Optional Mode Schedule_sample_by_sample Same ascreate_schedule for one Task ID None sample only Process_componentsProcesses all of the components to DCC ID Success 0 activate for a ruleon the sample or Submission ID Failure −1 within the submission SampleID Sequence Action Evaluate_condition Evaluates the rule and determinesDCC ID Failure −1 whether or not it has passed Submission ID Passed 0Sample ID Stop Condition is Task ID true 2 Sequence Did not pass 1Make_result_status_request Makes a status request to the status ResultID Success 0 monitor Result Version Failure −1 Create_parameter Createsa parameter on the sample or ID Success 0 on the submission ClassFailure −1 Prompt Response Hide Reject_sample Rejects all future tasksfor a sample Sample ID None Sequence Write_to_debug Writes a message tothe debug table Status None Message

[0093] Table 5 provides a detailed example of an implementation of Rule1000000634 of Table 1. This rule tests to see if the previous three datacollections exhibited less than a 20% increase in stem length. TABLE 5Field Setting DCC_ID 1000000634 PARENT_DCC_ID 1000000602 SEQUENCE 14DCC_VERSION 4 STATUS CURRENT STUDY_ID 100010269 RESULT_PLAN_ID 105008522CONDITION GROWTH STAGE 650 CTL ACTION A EXIT_WHEN_TRUE N HIDE_PARAMETERN RUN_ONCE Y MAX_TASK_SEQUENCE 58 SCOPE_LEVEL SUBMISSION METHOD ARABIDOP97 SOIL CORE/ARABIDOP 97 SOIL GROWTH STAGES/ START_SQL select count(ssample_id)  from nais_results r3,  nais_tasks t3,  nais_samples s wherer3 submission_id = submission_id  and r3 component = ‘Stem length (base to top unopened buds)’  and r3 task_id = t3 task_id  and t3 sequence =sequence  and r3 sample_id = s sample_id  and s sample_type = ‘ORANGE_CONTROL’  and not Exists(select * from  nais_parameters whereprompt =  ‘NO SEED OR DEATH’ and id = s sample_id)  and r3result_version = (SELECT  Max(result_version) FROM nais_results  WHEREresult_id = r3 result_id)  and exists(select ’x’   from nai_results r2,nai_tasks t2   where r2 component = ‘Stem length   (base to top unopenedbuds)’   and r2.task_id = t2 task_id   and t2.sequence = sequence - 2  and t3 sample_id = t2 sample_id   and r2 result_version = (SELECT  Max(result_version) FROM   nais_results WHERE result_id = r2result_id)   and nv1(r3.number_value, 0) < 1 2 *   nv1(r2 number_value,0)   and exists(select ’x’    from nai_results r1, nai_tasks t1    wherer1.component = ‘Stem    length (base to top unopened    buds)’    andr1.task_id = t1 task_id    and t1.sequence = .sequence - 4    andt1.sample_id = t2 sample_id    and r1 result_version = (SELECT   Max(result_version) FROM    nais_results WHERE result_id = r1result_id)    and nv1(r2 number_value, 0) <    1 2 * nv1(r1number_value, 0))) START_SCOPE_SQL select count(s.sample_id)  fromnais_results r3,  nais_tasks t3,  nais_samples s where r3 submission_id= submission_id  and r3 component = ‘Stem length (base  to top unopenedbuds)’  and r3 task_id = t3 task_id  and t3 sequence = sequence  and r3sample_id = s sample_id  and s sample_type =  ‘ORANGE_CONTROL’  and notExists(select * from  nais_parameters where prompt =  ‘NO SEED OR DEATH’and id = s sample_id)  and r3 result_version = (SELECT Max(result_version) FROM nais_results  WHERE result_id = r3.result_id) and exists(select ’x’   from nai_results r2.nai_tasks t2   where r2component = ‘Stem length   (base to top unopened buds)’   and r2 task_id= t2 task_id   and t2 sequence = sequence - 2   and t3 sample_id = t2sample_id   and r2 result_version = (SELECT   Max(result_version) FROM  nais_results WHERE result_id = r2 result_id)   and nv1(r3number_value. 0) < 1 2 *   nv1(r2 number_value, 0)   and exists(select’x’    from nai_results r1, nai_tasks t1    where r1 component = ‘Stem   length (base to top unopened    buds)’    and r1 task_id = t1 task_id   and t1 sequence = sequence - 4    and t1 sample_id = t2 sample_id   and r1 result_veision = (SELECT    Max(result_version) FROM   nais_results WHERE result_id = r1 result_id)    and nv1(r2number_value, 0) <    1 2 * nv1(r1 number_value, 0))) STOP_SQL NullSTOP_SCOPE_SQL Null PERCENTAGE_REQUIRED 100

[0094] Table 6 provides a detailed example of an implementation of Rule1000000605 of Table 1. This rile tests to see if 50% of the populationhas answered “Yes” to the characteristic “Can flower buds be seen?”.TABLE 6 Field Setting DCC_ID 1000000605 PARENT_DCC_ID 1000000602SEQUENCE 8 DCC_VERSION 4 STATUS CURRENT STUDY_ID 100010269RESULT_PLAN_ID 105008522 CONDITION GROWTH STAGE 510 DAY ACTION AEXIT_WHEN_TRUE N HIDE_PARAMETER N RUN_ONCE Y MAX_TASK_SEQUENCE 44SCOPE_LEVEL SUBMISSION METHOD ARABIDOP 97 SOIL CORE/ARABIDOP 97 SOILGROWTH STAGES/ START_SQL SELECT Count(DISTINCT s.sample_id)  FROMnais_sample s, nais_results r  WHERE r sample_id = s.sample_id  AND ssample_type = ‘ORANGE’  AND r submission_id = submission_id  ANDr.text_value = ’Y’  AND r.component = ‘Can flower  buds be seen?’  AND rresult_version = (SELECT  Max(result_version) FROM  nais_results WHEREresult_id = r.result_id)  AND Not Exists(select * from  nais_parameterswhere prompt =  ‘NO SEED OR DEATH’ and id = s.sample_id) START_SCOPE_SQLSELECT Count(DISTINCT s.sample_id)  FROM nais_samples s, nais_results r WHERE r sample_id = s sample_id  AND s sample_type = ‘ORANGE’  ANDr.submission_id = submission_id  AND r component = ‘Can flower  buds beseen?’  AND r.result_version = (SELECT  Max(result_veision) FROM nais_results WHERE result_id = r.result_id)  AND Not Exists(select *from  nais_parameters where prompt =  ‘NO SEED OR DEATH’ and id =s.sample_id) STOP_SQL Null STOP_SCOPE_SQL Null PERCENTAGE_REQUIRED 50

[0095] Accordingly, dynamic scheduling can reduce and preferablyminimize the collection of irrelevant characteristics and can alsoanticipate the need to collect new characteristics. The user need notmake a determination as to irrelevance and/or the need for newcharacteristics, but rather can merely take the measurements that areinstructed by the dynamic scheduling.

[0096] As was described above, dynamic scheduling may be particularlyuseful when used in conjunction with matrix data collection according toembodiments of the present invention, because the matrix can filter outcharacteristics. The matrix can be used to filter out characteristics sothe user need not see characteristics that the user does not need todata collect. Moreover, on a given day, the user may enter values forparticular characteristics that may trigger new data collection on thesame day, so that new characteristics may be activated on the same dayrather than waiting until the next day. By activating characteristicswhen a task has been completed, a task can be reactivated. When the usersees that the task is reactivated, for example by seeing that theasterisk has disappeared for the characteristic, then the user can knowthat more data should be collected.

[0097] In the drawings and specification, there have been disclosedtypical preferred embodiments of the invention and, although specificterms are employed, they are used in a generic and descriptive senseonly and not for purposes of limitation, the scope of the inventionbeing set forth in the following claims.

What is claimed is:
 1. A method of collecting data about a plurality ofsamples that possess characteristics that change over time, the samplesbeing contained in an array of containers that are arranged in acontainer spatial relationship, the method comprising: displaying amatrix of cells in a cell spatial relationship that corresponds to thecontainer spatial relationship; and accepting user input into at leastone of the cells of the matrix that is displayed, of at least one valueof at least one of the characteristics that change over time for atleast one of the samples that corresponds to the at least one of thecells in the matrix that is displayed.
 2. A method according to claim 1wherein the accepting is followed by: storing in a database, the atleast one value of the at least one of the characteristics that changeover time for the at least one of the samples.
 3. A method according toclaim 1 wherein the array of containers includes a plurality of rows andcolumns of containers in a container spatial relationship and whereinthe matrix of cells includes a corresponding plurality of rows andcolumns of cells in a cell spatial relationship that corresponds to thecontainer spatial relationship.
 4. A method according to claim 1 whereinthe plurality of samples are contained in a plurality of arrays ofcontainers and wherein the displaying is preceded by: accepting userselection of an array of containers from the plurality of arrays ofcontainers.
 5. A method according to claim 1 wherein the displaying ispreceded by: accepting user selection of a characteristic from thecharacteristics that change over time; and wherein the displayingcomprises displaying a matrix of cells in a cell spatial relationshipthat corresponds to the container spatial relationship and that includesdata entry parameters for the characteristic that was selected.
 6. Amethod according to claim 5 wherein the data entry parameters compriseat least one of a yes/no selection, a data entry box and a pull downmenu of selection options.
 7. A method according to claim 5 wherein theaccepting user selection of a characteristic is followed by displayinguser instructions for obtaining a value of the characteristic that wasselected.
 8. A method according to claim 1 : wherein the accepting userinput comprises accepting user input of a default value of the at leastone of the characteristics for the cells of the matrix that isdisplayed, and accepting user input into at least one of the cells ofthe matrix that is displayed, of at least one value that is differentfrom the default value.
 9. A method according to claim 2 : wherein theaccepting user input comprises accepting user input of a default valueof the at least one of the characteristics for the cells of the matrixthat is displayed, and accepting user input into at least one of thecells of the matrix that is displayed of at least one value that isdifferent from the default value; and wherein the storing comprisesstoring in the database, the default value for the cells of the matrixexcept for the at least one of the cells in which the at least one valuethat is different from the default value was accepted, and storing inthe database, the at least one value for the at least one of the cells.10. A method according to claim 2 wherein the following is performedbetween the accepting and the storing: accepting user input into atleast one of the cells of the matrix that is displayed, of at least onecorrected value of at least one of the characteristics that change overtime for at least one of the samples that corresponds to the at leastone of the cells in the matrix that is displayed.
 11. A method accordingto claim 1 wherein the displaying and accepting are repeatedly performedto collect data for a plurality of matrices of cells that correspond toa plurality of arrays of containers.
 12. A method according to claim 1wherein the displaying and accepting are repeatedly performed to collectdata for a plurality of the characteristics that change over time.
 13. Amethod according to claim 1 wherein the displaying and accepting arerepeatedly performed to collect data over a plurality of sequential timeintervals.
 14. A method according to claim 1 wherein the displaying ispreceded by: storing in a database, a plurality of past values of thecharacteristics of the plurality of samples that were data collectedduring at least one past time interval; storing in a rule base, aplurality of rules that determine whether a characteristic of a sampleis to be data collected and, if so, that identify the characteristicwhich is to be data collected, based on values of characteristics ofsamples; applying the plurality of rules to the plurality of past valuesthat are stored in the rule base to identify target samples to be datacollected from the plurality of samples and to identify at least onetarget characteristic to be data collected for the target samples thatare identified; and wherein the displaying comprises displaying thematrix of cells for the at least one target characteristic to be datacollected in the target samples to be data collected.
 15. A methodaccording to claim 14 wherein the displaying is followed by: acceptinguser input of at least one value of the at least one targetcharacteristic to be data collected in the target samples to be datacollected; and storing in the database, the at least one target value ofthe at least one target characteristic to be data collected in thetarget samples to be data collected.
 16. A method according to claim 15wherein the applying, displaying, accepting and storing the at least onevalue are repeatedly performed in sequence during a plurality of timeintervals.
 17. A method according to claim 14 wherein the plurality ofrules include a rule that begins or terminates data collection of acharacteristic in a sample based on a percentage of the samples having avalue of the characteristic during a past time interval.
 18. A methodaccording to claim 14 wherein the plurality of rules include a rule thatbegins or terminates data collection of a first characteristic in asample based on a percentage of the samples having a value of a secondcharacteristic during a past time interval.
 19. A method according toclaim 14 wherein the plurality of rules include a rule that begins orterminates data collection of a characteristic in a sample based on apercentage of the samples failing to have the characteristic during apast time interval.
 20. A method according to claim 14 wherein theplurality of rules include a rule that begins or terminates datacollection of a first characteristic in a sample based on a percentageof the samples failing to have a second characteristic during a pasttime interval.
 21. A method of scheduling data collection ofcharacteristics of a plurality of samples, wherein values of thecharacteristics change over time, the method comprising: storing in adatabase, a plurality of past values of the characteristics of theplurality of samples that were data collected during at least one pasttime interval; storing in a rule base, a plurality of rules thatdetermine whether a characteristic of a sample is to be data collectedand, if so, that identify the characteristic which is to be datacollected, based on values of characteristics of samples; applying theplurality of rules to the plurality of past values that are stored inthe rule base to identify target samples to be data collected from theplurality of samples and to identify at least one target characteristicto be data collected for the target samples that are identified; andgenerating user instructions to collect data for the at least one targetcharacteristic to be data collected in the target samples to be datacollected.
 22. A method according to claim 21 wherein the generating isfollowed by: accepting user input of at least one value of the at leastone target characteristic to be data collected in the target samples tobe data collected; and storing in the database, the at least one targetvalue of the at least one target characteristic to be data collected inthe target samples to be data collected.
 23. A method according to claim22 wherein the applying, generating, accepting and storing the at leastone value are repeatedly performed in sequence during a plurality oftime intervals.
 24. A method according to claim 21 wherein the pluralityof rules include a rule that begins or terminates data collection of acharacteristic in a sample based on a percentage of the samples having avalue of the characteristic during a past time interval.
 25. A methodaccording to claim 21 wherein the plurality of rules include a rule thatbegins or terminates data collection of a first characteristic in asample based on a percentage of the samples having a value of a secondcharacteristic during a past time interval.
 26. A method according toclaim 21 wherein the plurality of rules include a rule that begins orterminates data collection of a characteristic in a sample based on apercentage of the samples failing to have the characteristic during apast time interval.
 27. A method according to claim 21 wherein theplurality of rules include a rule that begins or terminates datacollection of a first characteristic in a sample based on a percentageof the samples failing to have a second characteristic during a pasttime interval.
 28. A method according to claim 21 wherein the pluralityof samples are contained in a plurality of arrays of samples, andwherein the plurality of rules include a rule that begins or terminatesdata collection of a characteristic in a sample based on a percentage ofthe samples in the array that includes the sample having a value of thecharacteristic during a past time interval.
 29. A method according toclaim 21 wherein the plurality of samples are contained in a pluralityof arrays of samples, and wherein the plurality of rules include a rulethat begins or terminates data collection of a first characteristic in asample based on a percentage of the samples in the array that includesthe sample having a value of a second characteristic during a past timeinterval.
 30. A method according to claim 21 wherein the plurality ofsamples are contained in a plurality of arrays of samples, and whereinthe plurality of rules include a rule that begins or terminates datacollection of a characteristic in a sample based on a percentage of thesamples in the array that includes the sample failing to have thecharacteristic during a past time interval.
 31. A method according toclaim 21 wherein the plurality of samples are contained in a pluralityof arrays of samples, and wherein the plurality of rules include a rulethat begins or terminates data collection of a first characteristic in asample based on a percentage of the samples in the array that includesthe sample failing to have a second characteristic during a past timeinterval.
 32. A method according to claim 21 wherein the plurality ofsamples are contained in an array of containers that are arranged in acontainer spatial relationship, and wherein the generating comprises:displaying a matrix of cells in a cell spatial relationship thatcorresponds to the container spatial relationship; and accepting userinput into at least one of the cells of the matrix that is displayed, ofat least one value of at least one of the target characteristic to bedata collected for at least one of the target samples to be datacollected that corresponds to the at least one of the cells in thematrix that is displayed.
 33. A method according to claim 32 wherein theplurality of samples are contained in a plurality of arrays ofcontainers and wherein the displaying is preceded by: accepting userselection of an array of containers from the plurality of arrays ofcontainers.
 34. A method according to claim 32 wherein the displaying ispreceded by: accepting user selection of a target characteristic fromthe characteristics that change over time; and wherein the displayingcomprises displaying a matrix of cells in a cell spatial relationshipthat corresponds to the container spatial relationship and that includesdata entry parameters for the target characteristic that was selected.35. A method according to claim 32 : wherein the accepting user inputcomprises accepting user input of a default value of the at least one ofthe target characteristics for the cells of the matrix that isdisplayed, and accepting user input into at least one of the cells ofthe matrix that is displayed, of at least one value that is differentfrom the default value.
 36. A method according to claim 32 wherein thefollowing is performed between the accepting and the storing: acceptinguser input into at least one of the cells of the matrix that isdisplayed, of at least one corrected value of at least one of the targetcharacteristics for at least one of the target samples to be datacollected that corresponds to the at least one of the cells in thematrix that is displayed.
 37. A system for collecting data about aplurality of samples that possess characteristics that change over time,the samples being contained in an array of containers that are arrangedin a container spatial relationship, the system comprising: means fordisplaying a matrix of cells in a cell spatial relationship thatcorresponds to the container spatial relationship; and means foraccepting user input into at least one of the cells of the matrix thatis displayed, of at least one value of at least one of thecharacteristics that change over time for at least one of the samplesthat corresponds to the at least one of the cells in the matrix that isdisplayed.
 38. A system according to claim 37 further comprising: meansfor storing in a database, the at least one value of the at least one ofthe characteristics that change over time for the at least one of thesamples.
 39. A system according to claim 37 wherein the array ofcontainers includes a plurality of rows and columns of containers in acontainer spatial relationship and wherein the matrix of cells includesa corresponding plurality of rows and columns of cells in a cell spatialrelationship that corresponds to the container spatial relationship. 40.A system according to claim 37 wherein the plurality of samples arecontained in a plurality of arrays of containers and wherein the systemfurther comprises: means for accepting user selection of an array ofcontainers from the plurality of arrays of containers.
 41. A systemaccording to claim 37 further comprising: means for accepting userselection of a characteristic from the characteristics that change overtime; and wherein the means for displaying comprises means fordisplaying a matrix of cells in a cell spatial relationship thatcorresponds to the container spatial relationship and that includes dataentry parameters for the characteristic that was selected.
 42. A systemaccording to claim 41 wherein the data entry parameters comprise atleast one of a yes/no selection, a data entry box and a pull down menuof selection options.
 43. A system according to claim 41 furthercomprising means for displaying user instructions for obtaining a valueof the characteristic that was selected.
 44. A system according to claim37 : wherein the means for accepting user input comprises means foraccepting user input of a default value of the at least one of thecharacteristics for the cells of the matrix that is displayed, and meansfor accepting user input into at least one of the cells of the matrixthat is displayed, of at least one value that is different from thedefault value.
 45. A system according to claim 38 : wherein the meansfor accepting user input comprises means for accepting user input of adefault value of the at least one of the characteristics for the cellsof the matrix that is displayed, and means for accepting user input intoat least one of the cells of the matrix that is displayed of at leastone value that is different from the default value; and wherein themeans for storing comprises means for storing in the database, thedefault value for the cells of the matrix except for the at least one ofthe cells in which the at least one value that is different from thedefault value was accepted, and means for storing in the database, theat least one value for the at least one of the cells.
 46. A systemaccording to claim 38 further comprising: means for accepting user inputinto at least one of the cells of the matrix that is displayed, of atleast one corrected value of at least one of the characteristics thatchange over time for at least one of the samples that corresponds to theat least one of the cells in the matrix that is displayed.
 47. A systemaccording to claim 37 wherein the means for displaying and the means foraccepting are repeatedly activated to collect data for a plurality ofmatrices of cells that correspond to a plurality of arrays ofcontainers.
 48. A system according to claim 37 wherein the means fordisplaying and the means for accepting are repeatedly activated tocollect data for a plurality of the characteristics that change overtime.
 49. A system according to claim 37 wherein the means fordisplaying and the means for accepting are repeatedly activated tocollect data over a plurality of sequential time intervals.
 50. A systemaccording to claim 39 further comprising: means for storing in adatabase, a plurality of past values of the characteristics of theplurality of samples that were data collected during at least one pasttime interval; means for storing in a rule base, a plurality of rulesthat determine whether a characteristic of a sample is to be datacollected and, if so, that identify the characteristic which is to bedata collected, based on values of characteristics of samples; means forapplying the plurality of rules to the plurality of past values that arestored in the rule base to identify target samples to be data collectedfrom the plurality of samples and to identify at least one targetcharacteristic to be data collected for the target samples that areidentified; and wherein the means for displaying comprises means fordisplaying the matrix of cells for the at least one targetcharacteristic to be data collected in the target samples to be datacollected.
 51. A system according to claim 50 further comprising: meansfor accepting user input of at least one value of the at least onetarget characteristic to be data collected in the target samples to bedata collected; and means for storing in the database, the at least onetarget value of the at least one target characteristic to be datacollected in the target samples to be data collected.
 52. A systemaccording to claim 51 wherein the means for applying, the means fordisplaying, the means for accepting and the means for storing the atleast one value are repeatedly activated in sequence during a pluralityof time intervals.
 53. A system according to claim 50 wherein theplurality of rules include a rule that begins or terminates datacollection of a characteristic in a sample based on a percentage of thesamples having a value of the characteristic during a past timeinterval.
 54. A system according to claim 50 wherein the plurality ofrules include a rule that begins or terminates data collection of afirst characteristic in a sample based on a percentage of the sampleshaving a value of a second characteristic during a past time interval.55. A system according to claim 50 wherein the plurality of rulesinclude a rule that begins or terminates data collection of acharacteristic in a sample based on a percentage of the samples failingto have the characteristic during a past time interval.
 56. A systemaccording to claim 50 wherein the plurality of rules include a rule thatbegins or terminates data collection of a first characteristic in asample based on a percentage of the samples failing to have a secondcharacteristic during a past time interval.
 57. A system for schedulingdata collection of characteristics of a plurality of samples, whereinvalues of the characteristics change over time, the system comprising:means for storing in a database, a plurality of past values of thecharacteristics of the plurality of samples that were data collectedduring at least one past time interval; means for storing in a rulebase, a plurality of rules that determine whether a characteristic of asample is to be data collected and, if so, that identify thecharacteristic which is to be data collected, based on values ofcharacteristics of samples; means for applying the plurality of rules tothe plurality of past values that are stored in the rule base toidentify target samples to be data collected from the plurality ofsamples and to identify at least one target characteristic to be datacollected for the target samples that are identified; and means forgenerating user instructions to collect data for the at least one targetcharacteristic to be data collected in the target samples to be datacollected.
 58. A system according to claim 57 further comprising: meansfor accepting user input of at least one value of the at least onetarget characteristic to be data collected in the target samples to bedata collected; and means for storing in the database, the at least onetarget value of the at least one target characteristic to be datacollected in the target samples to be data collected.
 59. A systemaccording to claim 58 wherein the means for applying, the means forgenerating, the means for accepting and the means for storing the atleast one value are repeatedly activated in sequence during a pluralityof time intervals.
 60. A system according to claim 57 wherein theplurality of rules include a rule that begins or terminates datacollection of a characteristic in a sample based on a percentage of thesamples having a value of the characteristic during a past timeinterval.
 61. A system according to claim 57 wherein the plurality ofrules include a rule that begins or terminates data collection of afirst characteristic in a sample based on a percentage of the sampleshaving a value of a second characteristic during a past time interval.62. A system according to claim 57 wherein the plurality of rulesinclude a rule that begins or terminates data collection of acharacteristic in a sample based on a percentage of the samples failingto have the characteristic during a past time interval.
 63. A systemaccording to claim 57 wherein the plurality of rules include a rule thatbegins or terminates data collection of a first characteristic in asample based on a percentage of the samples failing to have a secondcharacteristic during a past time interval.
 64. A system according toclaim 57 wherein the plurality of samples are contained in a pluralityof arrays of samples, and wherein the plurality of rules include a rulethat begins or terminates data collection of a characteristic in asample based on a percentage of the samples in the array that includesthe sample having a value of the characteristic during a past timeinterval.
 65. A system according to claim 57 wherein the plurality ofsamples are contained in a plurality of arrays of samples, and whereinthe plurality of rules include a rule that begins or terminates datacollection of a first characteristic in a sample based on a percentageof the samples in the array that includes the sample having a value of asecond characteristic during a past time interval.
 66. A systemaccording to claim 57 wherein the plurality of samples are contained ina plurality of arrays of samples, and wherein the plurality of rulesinclude a rule that begins or terminates data collection of acharacteristic in a sample based on a percentage of the samples in thearray that includes the sample failing to have the characteristic duringa past time interval.
 67. A system according to claim 57 wherein theplurality of samples are contained in a plurality of arrays of samples,and wherein the plurality of rules include a rule that begins orterminates data collection of a first characteristic in a sample basedon a percentage of the samples in the array that includes the samplefailing to have a second characteristic during a past time interval. 68.A system according to claim 57 wherein the plurality of samples arecontained in an array of containers that are arranged in a containerspatial relationship, and wherein the means for generating comprises:means for displaying a matrix of cells in a cell spatial relationshipthat corresponds to the container spatial relationship; and means foraccepting user input into at least one of the cells of the matrix thatis displayed, of at least one value of at least one of the targetcharacteristic to be data collected for at least one of the targetsamples to be data collected that corresponds to the at least one of thecells in the matrix that is displayed.
 69. A system according to claim68 wherein the plurality of samples are contained in a plurality ofarrays of containers and wherein the system further comprises: means foraccepting user selection of an array of containers from the plurality ofarrays of containers.
 70. A system according to claim 68 furthercomprising: means for accepting user selection of a targetcharacteristic from the characteristics that change over time; andwherein the means for displaying comprises means for displaying a matrixof cells in a cell spatial relationship that corresponds to thecontainer spatial relationship and that includes data entry parametersfor the target characteristic that was selected.
 71. A system accordingto claim 68 : wherein the means for accepting user input comprises meansfor accepting user input of a default value of the at least one of thetarget characteristics for the cells of the matrix that is displayed,and means for accepting user input into at least one of the cells of thematrix that is displayed, of at least one value that is different fromthe default value.
 72. A system according to claim 68 furthercomprising: means for accepting user input into at least one of thecells of the matrix that is displayed, of at least one corrected valueof at least one of the target characteristics for at least one of thetarget samples to be data collected that corresponds to the at least oneof the cells in the matrix that is displayed.
 73. A computer programproduct that collects data about a plurality of samples that possesscharacteristics that change over time, the samples being contained in anarray of containers that are arranged in a container spatialrelationship, the computer program product comprising a computer usablestorage medium having computer-readable program code embodied in themedium, the computer-readable program code comprising: computer-readableprogram code that is configured to display a matrix of cells in a cellspatial relationship that corresponds to the container spatialrelationship; and computer-readable program code that is configured toaccept user input into at least one of the cells of the matrix that isdisplayed, of at least one value of at least one of the characteristicsthat change over time for at least one of the samples that correspondsto the at least one of the cells in the matrix that is displayed.
 74. Acomputer program product according to claim 73 further comprising:computer-readable program code that is configured to store in adatabase, the at least one value of the at least one of thecharacteristics that change over time for the at least one of thesamples.
 75. A computer program product according to claim 73 whereinthe array of containers includes a plurality of rows and columns ofcontainers in a container spatial relationship and wherein the matrix ofcells includes a corresponding plurality of rows and columns of cells ina cell spatial relationship that corresponds to the container spatialrelationship.
 76. A computer program product according to claim 73wherein the plurality of samples are contained in a plurality of arraysof containers and wherein the computer program product furthercomprises: computer-readable program code that is configured to acceptuser selection of an array of containers from the plurality of arrays ofcontainers.
 77. A computer program product according to claim 73 furthercomprising: computer-readable program code that is configured to acceptuser selection of a characteristic from the characteristics that changeover time; and wherein the computer-readable program code that isconfigured to display comprises computer-readable program code that isconfigured to display a matrix of cells in a cell spatial relationshipthat corresponds to the container spatial relationship and that includesdata entry parameters for the characteristic that was selected.
 78. Acomputer program product according to claim 77 wherein the data entryparameters comprise at least one of a yes/no selection, a data entry boxand a pull down menu of selection options.
 79. A computer programproduct according to claim 77 further comprising: computer-readableprogram code that is configured to display user instructions forobtaining a value of the characteristic that was selected.
 80. Acomputer program according to claim 73 : wherein the computer-readableprogram code that is configured to accept user input comprisescomputer-readable program code that is configured to accept user inputof a default value of the at least one of the characteristics for thecells of the matrix that is displayed, and computer-readable programcode that is configured to accept user input into at least one of thecells of the matrix that is displayed, of at least one value that isdifferent from the default value.
 81. A computer program productaccording to claim 74 : wherein the computer-readable program code thatis configured to accept user input comprises computer-readable programcode that is configured to accept user input of a default value of theat least one of the characteristics for the cells of the matrix that isdisplayed, and computer-readable program code that is configured toaccept user input into at least one of the cells of the matrix that isdisplayed of at least one value that is different from the defaultvalue; and wherein the computer-readable program code that is configuredto store comprises computer-readable program code that is configured tostore in the database, the default value for the cells of the matrixexcept for the at least one of the cells in which the at least one valuethat is different from the default value was accepted, andcomputer-readable program code that is configured to store in thedatabase, the at least one value for the at least one of the cells. 82.A computer program product according to claim 74 further comprising:computer-readable program code that is configured to accept user inputinto at least one of the cells of the matrix that is displayed, of atleast one corrected value of at least one of the characteristics thatchange over time for at least one of the samples that corresponds to theat least one of the cells in the matrix that is displayed.
 83. Acomputer program product according to claim 73 wherein thecomputer-readable program code that is configured to display andcomputer-readable program code that is configured to accept arerepeatedly activated to collect data for a plurality of matrices ofcells that correspond to a plurality of arrays of containers.
 84. Acomputer program product according to claim 73 wherein thecomputer-readable program code that is configured to display and thecomputer-readable program code that is configured to accept arerepeatedly activated to collect data for a plurality of thecharacteristics that change over time.
 85. A computer program productaccording to claim 73 wherein the computer-readable program code that isconfigured to display and the computer-readable program code that isconfigured to accept are repeatedly activated to collect data over aplurality of sequential time intervals.
 86. A computer program productaccording to claim 73 further comprising: computer-readable program codethat is configured to store in a database, a plurality of past values ofthe characteristics of the plurality of samples that were data collectedduring at least one past time interval; computer-readable program codethat is configured to store in a rule base, a plurality of rules thatdetermine whether a characteristic of a sample is to be data collectedand, if so, that identify the characteristic which is to be datacollected, based on values of characteristics of samples;computer-readable program code that is configured to apply the pluralityof rules to the plurality of past values that are stored in the rulebase to identify target samples to be data collected from the pluralityof samples and to identify at least one target characteristic to be datacollected for the target samples that are identified; and wherein thecomputer-readable program code that is configured to display comprisescomputer-readable program code that is configured to display the matrixof cells for the at least one target characteristic to be data collectedin the target samples to be data collected.
 87. A computer programproduct according to claim 86 further comprising: computer-readableprogram code that is configured to accept user input of at least onevalue of the at least one target characteristic to be data collected inthe target samples to be data collected; and computer-readable programcode that is configured to store in the database, the at least onetarget value of the at least one target characteristic to be datacollected in the target samples to be data collected.
 88. A computerprogram product according to claim 87 wherein the computer-readableprogram code that is configured to apply, the computer-readable programcode that is configured to display, the computer-readable program codethat is configured to accept and the computer-readable program code thatis configured to store the at least one value are repeatedly activatedin sequence during a plurality of time intervals.
 89. A computer programproduct according to claim 86 wherein the plurality of rules include arule that begins or terminates data collection of a characteristic in asample based on a percentage of the samples having a value of thecharacteristic during a past time interval.
 90. A computer programproduct according to claim 86 wherein the plurality of rules include arule that begins or terminates data collection of a first characteristicin a sample based on a percentage of the samples having a value of asecond characteristic during a past time interval.
 91. A computerprogram product according to claim 86 wherein the plurality of rulesinclude a rule that begins or terminates data collection of acharacteristic in a sample based on a percentage of the samples failingto have the characteristic during a past time interval.
 92. A computerprogram product according to claim 86 wherein the plurality of rulesinclude a rule that begins or terminates data collection of a firstcharacteristic in a sample based on a percentage of the samples failingto have a second characteristic during a past time interval.
 93. Acomputer program product that schedules data collection ofcharacteristics of a plurality of samples, wherein values of thecharacteristics change over time, the computer program productcomprising a computer usable storage medium having computer-readableprogram code embodied in the medium, the computer-readable program codecomprising: computer-readable program code that is configured to storein a database, a plurality of past values of the characteristics of theplurality of samples that were data collected during at least one pasttime interval; computer-readable program code that is configured tostore in a rule base, a plurality of rules that determine whether acharacteristic of a sample is to be data collected and, if so, thatidentify the characteristic which is to be data collected, based onvalues of characteristics of samples; computer-readable program codethat is configured to apply the plurality of rules to the plurality ofpast values that are stored in the rule base to identify target samplesto be data collected from the plurality of samples and to identify atleast one target characteristic to be data collected for the targetsamples that are identified; and computer-readable program code that isconfigured to generate user instructions to collect data for the atleast one target characteristic to be data collected in the targetsamples to be data collected.
 94. A computer program product accordingto claim 93 further comprising: computer-readable program code that isconfigured to accept user input of at least one value of the at leastone target characteristic to be data collected in the target samples tobe data collected; and computer-readable program code that is configuredto store in the database, the at least one target value of the at leastone target characteristic to be data collected in the target samples tobe data collected.
 95. A computer program product according to claim 94wherein the computer-readable program code that is configured to apply,the computer-readable program code that is configured to generate, thecomputer-readable program code that is configured to accept and thecomputer-readable program code that is configured to store the at leastone value are repeatedly activated in sequence during a plurality oftime intervals.
 96. A computer program product according to claim 93wherein the plurality of rules include a rule that begins or terminatesdata collection of a characteristic in a sample based on a percentage ofthe samples having a value of the characteristic during a past timeinterval.
 97. A computer program product according to claim 93 whereinthe plurality of rules include a rule that begins or terminates datacollection of a first characteristic in a sample based on a percentageof the samples having a value of a second characteristic during a pasttime interval.
 98. A computer program product according to claim 93wherein the plurality of rules include a rule that begins or terminatesdata collection of a characteristic in a sample based on a percentage ofthe samples failing to have the characteristic during a past timeinterval.
 99. A computer program product according to claim 93 whereinthe plurality of rules include a rule that begins or terminates datacollection of a first characteristic in a sample based on a percentageof the samples failing to have a second characteristic during a pasttime interval.
 100. A computer program product according to claim 93wherein the plurality of samples are contained in a plurality of arraysof samples, and wherein the plurality of rules include a rule thatbegins or terminates data collection of a characteristic in a samplebased on a percentage of the samples in the array that includes thesample having a value of the characteristic during a past time interval.101. A computer program product according to claim 93 wherein theplurality of samples are contained in a plurality of arrays of samples,and wherein the plurality of rules include a rule that begins orterminates data collection of a first characteristic in a sample basedon a percentage of the samples in the array that includes the samplehaving a value of a second characteristic during a past time interval.102. A computer program product according to claim 93 wherein theplurality of samples are contained in a plurality of arrays of samples,and wherein the plurality of rules include a rule that begins orterminates data collection of a characteristic in a sample based on apercentage of the samples in the array that includes the sample failingto have the characteristic during a past time interval.
 103. A computerprogram product according to claim 93 wherein the plurality of samplesare contained in a plurality of arrays of samples, and wherein theplurality of rules include a rule that begins or terminates datacollection of a first characteristic in a sample based on a percentageof the samples in the array that includes the sample failing to have asecond characteristic during a past time interval.
 104. A computerprogram product according to claim 93 wherein the plurality of samplesare contained in an array of containers that are arranged in a containerspatial relationship, and wherein the computer-readable program codethat is configured to generate comprises: computer-readable program codethat is configured to display a matrix of cells in a cell spatialrelationship that corresponds to the container spatial relationship; andcomputer-readable program code that is configured to accept user inputinto at least one of the cells of the matrix that is displayed, of atleast one value of at least one of the target characteristic to be datacollected for at least one of the target samples to be data collectedthat corresponds to the at least one of the cells in the matrix that isdisplayed.
 105. A computer program product according to claim 104wherein the plurality of samples are contained in a plurality of arraysof containers and wherein the computer program product furthercomprises: computer-readable program code that is configured to acceptuser selection of an array of containers from the plurality of arrays ofcontainers.
 106. A computer program product according to claim 104further comprising: computer-readable program code that is configured toaccept user selection of a target characteristic from thecharacteristics that change over time; and wherein the computer-readableprogram code that is configured to display comprises computer-readableprogram code that is configured to display a matrix of cells in a cellspatial relationship that corresponds to the container spatialrelationship and that includes data entry parameters for the targetcharacteristic that was selected.
 107. A computer program productaccording to claim 104 : wherein the computer-readable program code thatis configured to accept user input comprises computer-readable programcode that is configured to accept user input of a default value of theat least one of the target characteristics for the cells of the matrixthat is displayed, and computer-readable program code that is configuredto accept user input into at least one of the cells of the matrix thatis displayed, of at least one value that is different from the defaultvalue.
 108. A computer program product according to claim 104 furthercomprising: computer-readable program code that is configured to acceptuser input into at least one of the cells of the matrix that isdisplayed, of at least one corrected value of at least one of the targetcharacteristics for at least one of the target samples to be datacollected that corresponds to the at least one of the cells in thematrix that is displayed.